package com.yuw.hwbase04;

import java.util.Scanner;

/**
 * @author Administrator 班主任类
 * 
 */
public class ClassMaster {
	// 属性
	// 学生数组【成绩单】
	private Student[] arrStus;
	// 行为

	/**
	 * 成绩排序行为
	 */
	public void sortStuScore() {
		// 不为空，则进行排序处理
		if (arrStus != null && arrStus.length > 0) {
			// 使用冒泡排序算法，对学生成绩进行排序
			// 外层for循环
			for (int i = 0; i < arrStus.length; i++) {
				// 内层for循环
				for (int j = 0; j < arrStus.length - 1 - i; j++) {
					// 按成绩高低进行排序
					if (arrStus[j].getStuScore() < arrStus[j + 1].getStuScore()) {
						// 交换
						// 临时变量
						Student stuTemp = arrStus[j];
						arrStus[j] = arrStus[j + 1];
						arrStus[j + 1] = stuTemp;
					}
				}

			}
		}
	}

	/**
	 * 初始化学生名单
	 */
	public void init() {

		Scanner sc = new Scanner(System.in);
		System.out.println("请输入需要录入成绩的学生人数：");
		// 接收成员人数
		int count = sc.nextInt();
		// 初始化学生数组
		arrStus = new Student[count];

		// for循环一次录入每个成员的信息
		for (int i = 0; i < arrStus.length; i++) {
			// 初始化父类信息
			System.out.println("请输入学生姓名：");
			String strName = sc.next();
			System.out.println("请输入学生学号：");
			String strNo = sc.next();
			System.out.println("请输入学生成绩：");
			int score = sc.nextInt();
			// 创建一个学生对象，放入学生数组中
			Student stu = new Student(strName, strNo, score);
			// 存入学生数组中
			arrStus[i] = stu;
		}
	}

	/**
	 * 打印所有的学生信息【成绩从高到低排序】
	 */
	public void printAllStuInfo() {
		if (arrStus != null && arrStus.length > 0) {
			System.out.println("学生成绩信息：");
			// 打印学生名单中的学生成绩信息
			for (Student stu : arrStus) {
				// 打印每个学生自己的信息
				stu.printMe();
			}
		}
	}

	public ClassMaster() {
		super();
	}

	public ClassMaster(Student[] arrStus) {
		super();
		this.arrStus = arrStus;
	}

	public Student[] getArrStus() {
		return arrStus;
	}

	public void setArrStus(Student[] arrStus) {
		this.arrStus = arrStus;
	}

}
